﻿/**
 * Created in 2012-2-8.
 */
package kit4j.view.cs.awt.image.drawer;

import java.awt.Color;

/**
 * 在图像上绘制宽为1、高为1、固定颜色、随机位置的点的绘制器。该绘制器确定在图像的每一块指定宽高范围内只存在一个点。
 * 
 * @author MiniKnife
 * 
 */
public class RandomPointDrawer extends RandomColorPointDrawer implements IDrawer {

	/**
	 * 绘制的点的颜色。
	 */
	private Color dotColor;

	/**
	 * 创建一个指定颜色的随机点绘制器。默认的点所占区域宽度为10，高度为10。
	 * 
	 * @param dotColor
	 *            要绘制的点的颜色
	 */
	public RandomPointDrawer(Color dotColor) {
		this(10, 10, dotColor);
	}

	/**
	 * 创建一个指定颜色与区域尺寸的随机点绘制器。
	 * 
	 * @param everyDotAreaWidth
	 *            每一个点所占据区域的宽度
	 * @param everyDotAreaHeight
	 *            每一个点所占据区域的高度
	 * @param dotColor
	 *            要绘制的点的颜色
	 */
	public RandomPointDrawer(int everyDotAreaWidth, int everyDotAreaHeight, Color dotColor) {
		super(everyDotAreaWidth, everyDotAreaHeight);

		this.dotColor = dotColor;
	}

	/**
	 * @see kit4j.view.cs.awt.image.drawer.RandomColorPointDrawer#nextColor()
	 */
	@Override
	protected Color nextColor() {
		return getDotColor();
	}

	public Color getDotColor() {
		return dotColor;
	}

	/**
	 * 设置绘制的点的颜色。
	 * 
	 * @param dotColor
	 *            颜色
	 */
	public void setDotColor(Color dotColor) {
		this.dotColor = dotColor;
	}

}
